import axios from "axios";
import {Notify,Toast} from "vant";
import router from "@/router";
export function request(config){
    const instance =axios.create({
        baseURL:"https://api.shop.eduwork.cn/",
        timeout:5000
    })
    //请求拦截
    instance.interceptors.request.use(
        //如果有一个接口需要认证才可以访问，就在这统一设置
        config =>{
            const token=window.localStorage.getItem('token')
           
            if(token){
                config.headers.Authorization='Bearer' + token
                 // HTTP Authorization 请求标头用于提供服务器验证用户代理身份的凭据，允许访问受保护的资源。
                console.log("success");
            }
        //config:包含着网络请求的所有信息
            return config
        },
        error =>{

            return Promise.reject(error)
    })

    //响应拦截
    instance.interceptors.response.use(
        res =>{
            return res.data ? res.data : res;
        },
        err=>{
            //如果有需要授权才可以访问的接口，统一去login授权
            // response:响应   Toast:土司   router:路由器
          //  status:状态码   fail:失败    push:推
         console.log(err.response.status);
                if(err.response.status=='401'){
                        Toast.fail('请先登录')
                        router.push('/login')
                }
           //如果有错误，这里面会去处理,显示错误信息
          console.log(Object.keys(err.response.data.errors)[0]);
           Notify({type:'success',message:err.response.data.errors[Object.keys(err.response.data.errors)[0]][0]})
        }
    ) 
    return instance(config)   
}